package com.ruoyi.system.controlserver;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.SrswDevices;
import io.netty.channel.Channel;

import java.util.Date;

/**
 * @author chenjy
 * @date 2024/12/3 15:15
 */
public class SmartInfo extends BaseEntity {
    private String ip;

    private String id;

    private String parentId;
    private String deptName;
    /** 显示顺序 */
    private Integer orderNum;
    private boolean isOnline;
    private Channel channel;
    private String connectionTime;
    private Boolean screenStatus;
    private Boolean powerStatus;
    private Boolean opsStatus;
    private Integer voice;
    private String source;
    private Boolean restart;
    private Boolean muteStatus;

    private String deviceNo;

    private String deviceName;

    /** 上线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date upTime;

    /** 下线时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date downTime;

    private SrswDevices srswDevices;

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public SmartInfo() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public Date getUpTime() {
        return upTime;
    }

    public void setUpTime(Date upTime) {
        this.upTime = upTime;
    }

    public Date getDownTime() {
        return downTime;
    }

    public void setDownTime(Date downTime) {
        this.downTime = downTime;
    }

    public boolean isOnline() {
        return isOnline;
    }

    public void setOnline(boolean online) {
        isOnline = online;
    }

    public SrswDevices getSrswDevices() {
        return srswDevices;
    }

    public void setSrswDevices(SrswDevices srswDevices) {
        this.srswDevices = srswDevices;
    }

    public SmartInfo(String ip, Channel channel){
        this.ip = ip;
        this.channel = channel;
        this.connectionTime = DateUtils.getTime();
    }

    public String getIp() {
        return ip;
    }

    public void setIp(String ip) {
        this.ip = ip;
    }

    public Channel getChannel() {
        return channel;
    }

    public void setChannel(Channel channel) {
        this.channel = channel;
    }

    public String getConnectionTime() {
        return connectionTime;
    }

    public void setConnectionTime(String connectionTime) {
        this.connectionTime = connectionTime;
    }

    public Boolean getScreenStatus() {
        return screenStatus;
    }

    public void setScreenStatus(Boolean screenStatus) {
        this.screenStatus = screenStatus;
    }

    public Boolean getPowerStatus() {
        return powerStatus;
    }

    public void setPowerStatus(Boolean powerStatus) {
        this.powerStatus = powerStatus;
    }

    public Boolean getOpsStatus() {
        return opsStatus;
    }

    public void setOpsStatus(Boolean opsStatus) {
        this.opsStatus = opsStatus;
    }

    public Integer getVoice() {
        return voice;
    }

    public void setVoice(Integer voice) {
        this.voice = voice;
    }

    public String getSource() {
        return source;
    }

    public void setSource(String source) {
        this.source = source;
    }

    public Boolean getRestart() {
        return restart;
    }

    public void setRestart(Boolean restart) {
        this.restart = restart;
    }

    public Boolean getMuteStatus() {
        return muteStatus;
    }

    public void setMuteStatus(Boolean muteStatus) {
        this.muteStatus = muteStatus;
    }

    public String getDeviceNo() {
        return deviceNo;
    }

    public void setDeviceNo(String deviceNo) {
        this.deviceNo = deviceNo;
    }

    public String getDeviceName() {
        return deviceName;
    }

    public void setDeviceName(String deviceName) {
        this.deviceName = deviceName;
    }
}
